import request from '../request-axios.js';
import { API_CONFIG } from '../config.js';

// 任务管理API - 根据API文档更新
export const taskTypeAPI = {
  // 查询任务管理列表
  getTaskTypeList: (params = {}) => {
    return request.get(API_CONFIG.ENDPOINTS.TASK_TYPE_LIST, null, { params });
  },

  // 新增保存任务管理
  addTaskType: (data) => {
    return request.post(API_CONFIG.ENDPOINTS.TASK_TYPE_SAVE, null, { params: data });
  },

  // 修改保存任务管理
  updateTaskType: (id, data) => {
    const params = {
      id: id,
      ...data
    };
    return request.post(API_CONFIG.ENDPOINTS.TASK_TYPE_EDIT, null, { params });
  },
  // 根据任务类型查遥测类型
  getTaskList: (params = {}) => {
    return request.get(API_CONFIG.ENDPOINTS.TELEMETRY_TYPE_LIST, null, { params });
  },
  // 暂存遥测数据
  saveTelemetryData: (data = {}) => {
    return request.post(API_CONFIG.ENDPOINTS.ADD_TELEMETRY_data, data, {});
  },
  // 保存/删除遥测数据
  updateTelemetryData: (params = {}) => {
    return request.get(API_CONFIG.ENDPOINTS.UPDATE_TELEMETRY_TYPE, null, { params });
  },
  // 删除任务管理（支持单个ID或ID数组）
  deleteTaskType: (idOrIds) => {
    // 统一处理单个ID和ID数组
    let idsParam;
    if (Array.isArray(idOrIds)) {
      // 批量删除：数组转换为逗号拼接字符串
      idsParam = idOrIds.join(',');
    } else {
      // 单个删除：直接使用ID
      idsParam = idOrIds;
    }
    return request.get(API_CONFIG.ENDPOINTS.TASK_TYPE_DELETE, null, { params: { id: idsParam } });
  },
  // 获取任务详情
  getTaskTypeDetail: (id) => {
    return request.post(API_CONFIG.ENDPOINTS.TASK_TYPE_DETAIL, null, { params: { id } });
  },
  // 添加和编辑任务时查询任务类型列表
  getTaskPullDownList: (params = {}) => {
    return request.get(API_CONFIG.ENDPOINTS.TASK_PULL_DOWN_LIST, null, { params });
  },
};

export default taskTypeAPI;
